home *** CD-ROM | disk | FTP | other *** search
/ Delphi Magazine Collection 2001 / Delphi Magazine Collection 20001 (2001).iso / DISKS / Issue33 / clinic / UpdateSystemFileMainFormUnit.pas < prev   
Encoding:
Pascal/Delphi Source File  |  1998-03-27  |  1.9 KB  |  84 lines

  1. unit UpdateSystemFileMainFormUnit;
  2.  
  3. interface
  4.  
  5. uses
  6.   Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
  7.   StdCtrls;
  8.  
  9. type
  10.   TForm1 = class(TForm)
  11.     dlgSrc: TOpenDialog;
  12.     dlgDst: TSaveDialog;
  13.     btnChooseSrc: TButton;
  14.     btnChooseDst: TButton;
  15.     lblSrc: TLabel;
  16.     lblDst: TLabel;
  17.     btnSetup: TButton;
  18.     procedure btnChooseSrcClick(Sender: TObject);
  19.     procedure btnChooseDstClick(Sender: TObject);
  20.     procedure btnSetupClick(Sender: TObject);
  21.   private
  22.     { Private declarations }
  23.   public
  24.     { Public declarations }
  25.   end;
  26.  
  27. var
  28.   Form1: TForm1;
  29.  
  30. implementation
  31.  
  32. uses
  33.   FileCtrl, IniFiles;
  34.  
  35. {$R *.DFM}
  36.  
  37. procedure TForm1.btnChooseSrcClick(Sender: TObject);
  38. begin
  39.   if dlgSrc.Execute then
  40.   begin
  41.     lblSrc.Caption := MinimizeName(dlgSrc.FileName,
  42.       Canvas, btnChooseSrc.Width);
  43.     btnChooseDst.Enabled := True;
  44.     btnChooseDst.SetFocus
  45.   end
  46. end;
  47.  
  48. procedure TForm1.btnChooseDstClick(Sender: TObject);
  49. begin
  50.   dlgDst.InitialDir := ExtractFilePath(dlgSrc.FileName);
  51.   if dlgDst.Execute then
  52.   begin
  53.     lblDst.Caption := MinimizeName(dlgDst.FileName,
  54.       Canvas, btnChooseDst.Width);
  55.     btnSetup.Enabled := True;
  56.     btnSetup.SetFocus
  57.   end
  58. end;
  59.  
  60. procedure TForm1.btnSetupClick(Sender: TObject);
  61. var
  62.   Src, Dst: array[0..MAX_PATH] of Char;
  63. begin
  64.   case Win32Platform of
  65.     VER_PLATFORM_WIN32_WINDOWS:
  66.       with TIniFile.Create('WinInit.Ini') do
  67.         try
  68.           GetShortPathName(PChar(dlgSrc.FileName), Src, MAX_PATH);
  69.           GetShortPathName(PChar(dlgDst.FileName), Dst, MAX_PATH);
  70.           WriteString('rename', Dst, Src)
  71.         finally
  72.           Free
  73.         end;
  74.     VER_PLATFORM_WIN32_NT:
  75.     begin
  76.       Win32Check(MoveFileEx(PChar(dlgSrc.FileName),
  77.         PChar(dlgDst.FileName),
  78.         MoveFile_Delay_Until_Reboot))
  79.     end
  80.   end
  81. end;
  82.  
  83. end.
  84.